<script setup name="App" lang="ts">
import { onMounted, ref } from 'vue';
import Child from './Child.vue';

// typeof Child 获取 Child 这个构造函数的类型
// 用内置的泛型工具 InstanceType 获取构造函数 Child 的实例
// InstanceType<typeof Child>

const cmpRef = ref<InstanceType<typeof Child> | null>(null)

onMounted(() => {
  cmpRef.value?.changeCount(3)
})

/* const p = { name: 'ifer', age: 18 }
// typeof 用于类型定义，表示获取类型
type TP = typeof p & { sex: string }
const temp:TP = {name: 'ifer', age: 18, sex: '男', } */

// 类型判断
// const a = typeof 8 // 'number'

</script>
<template>
  <Child ref="cmpRef" />
</template>
